package com.samphanie.admin.modules.sys.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.samphanie.admin.modules.sys.domain.dto.LoginDto;
import com.samphanie.admin.modules.sys.domain.vo.Oauth2TokenVo;
import com.samphanie.mbg.model.sys.SysUser;

import java.util.Optional;

/**
 * @author ZSY
 * @date 2021/11/9 9:53
 */
public interface ISysUserService extends IService<SysUser> {

    /**
     * 根据账户查询用户信息
     *
     * @param username 账户
     * @return SysUser
     */
    Optional<SysUser> findUserByUsername(String username);

    /**
     * 根据账户更新用户密码
     * @param username ID
     * @param newPassword 新密码
     */
    void updateUserPasswordById(String username, String newPassword);

    /**
     * 用户名密码登录
     * @param loginDto 登录表单
     * @return ApiResponse<?>
     */
    Oauth2TokenVo userLogin(LoginDto loginDto);
}
